In recent years, with an increase in the amount of communication of portable terminals, such as smartphones and tablet computers, higher-speed wireless communication systems have been attracting attention. As such a high-speed wireless communication system, for example, Long Term Evolution (LTE) has been in widespread use, and LTE Advanced, which is a higher-performance next-generation mobile communications system, has been standardized and various proposals are being made for practical use.
For example, when LTE Advanced is employed, an enormous amount of matrix arithmetic operation processing is to be performed as wireless-communication baseband processing. This is not only limited to LTE Advanced, but is also true for various wireless communication systems (standards) including Worldwide Interoperability for Microwave Access 2 (WiMAX 2) and currently used systems.
In general, in wireless-communication baseband processing, an enormous amount of matrix arithmetic operation is performed in proportion to an increase in communication speed. For example, in LTE Advanced, the matrix arithmetic operation accounts for a large amount of the entire arithmetic operation.
A configuration in which a memory in which matrix data is stored and an arithmetic unit are connected in series and a stream engine performs matrix arithmetic operation on data read from the memory and writes out an arithmetic-operation result to the memory is suitable, in order to execute matrix arithmetic operation processing (one type of stream processing) at high speed.
Accordingly, for example, a combination of a base processor, which is a general-purpose processor, and a coprocessor having a stream engine has been proposed as an arithmetic processing device (an arithmetic processing system) for performing wireless-communication baseband processing in LTE Advanced.
Heretofore, various systems have been proposed as an arithmetic processing system realized by a combination of a base processor and a coprocessor having a stream engine.
Examples of related art include the technologies disclosed in Japanese Laid-open Patent Publication No. 2011-197774 and Japanese Laid-open Patent Publication No. 08-069377.
In such an arithmetic processing system, for example, when a stream instruction, which is a coprocessor instruction, is executed, the base processor performs state-monitor of the coprocessor, transfer of data, control of the execution, and so on through handshaking. Consequently, overhead occurs. This overhead is referred to as, for example, “communication cycle overhead”.
In addition, for example, when an interrupt occurs while the stream engine in the coprocessor is executing stream processing, interrupt processing is performed after waiting until the execution of the stream processing is completed.
That is, when the coprocessor is in a busy state during occurrence of an interrupt, the base processor waits until the coprocessor enters an idle state. This further increases the communication cycle overhead.